<?php


class Model_Bibliotecarios extends Zend_Db_Table_Abstract  {
    
    protected $_name = 'tbl_administracion_bibliotecarios';
    
    public function GetTblName() {
        return $this->_name;
    }
    
    public function GetBibliotecarioPassword($BibliotecarioId) {
        $db = Zend_Db_Table::getDefaultAdapter();
        $select = $this->select();
        $select->from(array($this->_name));
        $select->where('`bibliotecario_id` = '.$BibliotecarioId);
        $select->setIntegrityCheck(false);
        $query = $db->query($select);
        return $query->fetchAll();
    }
    
    public function GetBibliotecarioLoginExist($bibliotecarioLogin) {
        $db = Zend_Db_Table::getDefaultAdapter();
        $select = $this->select();
        $select->from(array($this->_name));
        $select->where('`bibliotecario_login` = "'.$bibliotecarioLogin.'"');
        $select->setIntegrityCheck(false);
        $query = $db->query($select);
        return (count($query->fetchAll()) > 0);
    }
    
    public function GetBibliotecarios($like = null) {
        $db = Zend_Db_Table::getDefaultAdapter();
        $select = $this->select();
        $select->from(array($this->_name));
        if ($like != null) {
            $select->where('`bibliotecario_nombre` LIKE "%'.$like.'%"');
        }
        $select->order('bibliotecario_login');
        $select->setIntegrityCheck(false);
        $query = $db->query($select);
        return $query->fetchAll();
    }
    
    public function GetBibliotecarioIdByLogin($BibliotecarioLogin) {
        $db = Zend_Db_Table::getDefaultAdapter();
        $select = $this->select();
        $select->from(array($this->_name), array('bibliotecario_id', 'bibliotecario_password'));
        $select->where('`bibliotecario_login` = "'.$BibliotecarioLogin.'"');
        $select->setIntegrityCheck(false);
        $query = $db->query($select);
        return $query->fetchAll();
    }
    
    public function GetBibliotecarioById($BibliotecarioId) {
        $db = Zend_Db_Table::getDefaultAdapter();
        $select = $this->select();
        $select->from(array($this->_name));
        $select->where('bibliotecario_id = "'.$BibliotecarioId.'"');
        $select->setIntegrityCheck(false);
        $query = $db->query($select);
        return $query->fetchAll();
    }
    
    public function Guardar($bibliotecario) {
        $arr_bibliotecario = $bibliotecario->ToArray();
        
        $existe = $this->GetBibliotecarioLoginExist($arr_bibliotecario['bibliotecario_login']);
        if (!$existe) {
            $db = Zend_Db_Table::getDefaultAdapter();
            $query = "INSERT INTO `".$this->_name;

            $query .= "` (";
            foreach ($arr_bibliotecario as $attr => $val ) {
                $query .= "`".$attr."`, ";
            }
            $query = substr($query, 0, -2);
            $query .= ") VALUES (";
            foreach ($arr_bibliotecario as $attr => $val ) {
                $query .= "'".$val."', ";
            }
            $query = substr($query, 0, -2);
            $query .= ");";
            
            $db->query($query);
            return true;
        } else {
            return false;
        }
    }
    
    public function Modificar($bibliotecarioid, $bibliotecario){
        $arr_bibliotecario = $bibliotecario->ToArray();
        
        $existe = $this->GetBibliotecarioLoginExist($arr_bibliotecario['bibliotecario_login']);
        $oldbibliotecario = $this->GetBibliotecarioById($bibliotecarioid);
        if (!$existe || ($existe && $oldbibliotecario[0]['bibliotecario_login'] == $bibliotecario->bibiliotecario_login)) {
            $db = Zend_Db_Table::getDefaultAdapter();
            
            $query = "UPDATE `".$this->_name."` SET ";
            foreach ($arr_bibliotecario as $attr => $val ) {
                if ($attr != 'bibliotecario_id') {
                    if (!($attr == 'bibliotecario_password' && $val == '')) {
                        $query .= "`".$attr."` = '".$val."', ";
                    }
                }
            }
            $query = substr($query, 0, -2);
            $query .= " WHERE `bibliotecario_id` = '".$bibliotecarioid."';";
            
            $db->query($query);
            return true;
        } else {
            return false;
        }
    }
    
    public function Eliminar($bibliotecarioid) {
        $existe = $this->GetBibliotecarioLoginExist($arr_bibliotecario['bibiliotecario_login']);
        
        if (!$existe){
            $db = Zend_Db_Table::getDefaultAdapter();
            
            $query = "DELETE FROM `".$this->_name."`";
            $query .= " WHERE `bibliotecario_id` = '".$bibliotecarioid."';";
            
            $db->query($query);
            return true;
        } else {
            return false;
        }
    }
}
